package com.dkm.orproject.dkmoa.dao;

import com.dkm.orproject.dkmoa.domain.OaNews;
import com.dkm.orproject.dkmoa.domain.OaNewsType;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface OaNewsTypeMapper {
    /**
     * 分页查询
     * @param oaNews 新闻类型模块 用于条件查询
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 返回数据集合
     */
    List<OaNewsType> selectAll(@Param("oaNewsType") OaNewsType oaNews, @Param("startDate") String startTime, @Param("endDate") String endTime);

    /**
     * 查询所有有效的新闻类型
     * @return 返回结果
     */
    List<OaNewsType> selectValid();

    /**
     * 总行数
     * @param oaNews 新闻类型模块 用于条件查询
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 总行数
     */
    Long rowCount(@Param("oaNewsType") OaNewsType oaNews, @Param("startDate") String startTime, @Param("endDate") String endTime);


    int deleteByPrimaryKey(Long pkNewsTypeId);

    int insert(OaNewsType record);

    /**
     * 新闻类型的增加方法
     * @param record 增加的模型
     * @return 返回增加的行数
     */
    int insertSelective(OaNewsType record);

    /**
     * 根据主键查询新闻类型
     * @param pkNewsTypeId 新闻类型主键
     * @return 返回新闻类型模型
     */
    OaNewsType selectByPrimaryKey(Long pkNewsTypeId);

    /**
     * 新闻类型修改的方法
     * @param record 修改的模型
     * @return 返回修改的行数
     */
    int updateByPrimaryKeySelective(OaNewsType record);

    int updateByPrimaryKey(OaNewsType record);

    /**
     * 批量逻辑删除
     * @param list 新闻类型id的集合
     * @return 删除的行数
     */
    int deleteAll(List<Long> list);

}